package com.msgqer.rchat.event;

import com.msgqer.rchat.message.MessageDto;

/**
 * 通讯的事件生成器
 * 
 * @author keaizhuzhu@公众号：面试怪圈 ;官网地址：{@link http://www.mianshiguaiquan.com}
 *         这里有更多面试、技术、学习资料及源码等
 *
 */
public class CommunicationEventGenerator {

	/**
	 * 生成系统消息
	 * 
	 * @param data
	 * @return
	 */
	public static CommunicationEvent<String> genSystemMessage(String data) {
		return new CommunicationEvent<String>(EnumCommunicationEventType.SYSTEM_MESSAGE.getCode(), data);
	}

	/**
	 * 生成普通消息
	 * 
	 * @param data
	 * @return
	 */
	public static CommunicationEvent<MessageDto> genCommonMessage(MessageDto data) {
		return new CommunicationEvent<MessageDto>(EnumCommunicationEventType.COMMON_MESSAGE.getCode(), data);
	}

	/**
	 * 生成在线通知消息
	 * 
	 * @param data
	 * @return
	 */
	public static CommunicationEvent<Integer> genOnlineMemberMessage(Integer data) {
		return new CommunicationEvent<Integer>(EnumCommunicationEventType.ONLINE_MEMBER_MESSAGE.getCode(), data);
	}

}
